// pages/userInfo/userInfo.js
const db = wx.cloud.database();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    sexShow: false,
    sex: '男',
    naneShow: false,
    name: '',
    nickName: '未设置',
    pwd: '',
    pwdShow: false,
    newPwd: '',
    tempPwd: '',
    registerTime: '2023-01-01',
    time: '',
    user: {},
  },

  // 修改用户名
  changeName() {
    this.setData({
      nameShow: true
    })
  },

  // 拿到输入框用户名
  getName(e) {
    this.setData({
      name: e.detail
    })
  },

  onNameClose() {
    this.setData({
      pwdShow: false
    });
  },

  // 确认修改用户名
  sureName() {
    if (!this.data.name) {
      wx.showToast({
        icon: 'none',
        title: '用户名不能够为空',
      })
      return
    }
    if (this.data.nickName == this.data.name) {
      this.setData({
        nameShow: false,
      });
      return
    }
    let user = {
      ...this.data.user
    };
    user.name = this.data.name
    this.setData({
      user
    });
    wx.cloud.callFunction({
      name: "changeUser",
      data: {
        user
      }
    });
    this.setData({
      nickName: this.data.name,
      nameShow: false,
    });
  },

  // 修改性别
  changeSex() {
    // 弹出层显示
    this.setData({
      sexShow: true
    })
  },

  onSexClose() {
    // 弹出层隐藏
    this.setData({
      sexShow: false
    });
  },

  onChange(event) {
    this.setData({
      sex: event.detail,
    });
  },

  onClick(event) {
    const {
      name
    } = event.currentTarget.dataset;
    // 确认修改性别
    let user = {
      ...this.data.user
    };
    user.sex = name
    this.setData({
      user
    });
    wx.cloud.callFunction({
      name: "changeUser",
      data: {
        user
      }
    });
    this.setData({
      sex: name,
      sexShow: false
    });
  },

  // 修改密码
  changePwd() {
    // 弹出层显示
    this.setData({
      pwdShow: true
    })
  },

  onPwdClose() {
    // 弹出层隐藏
    this.setData({
      pwdShow: false
    });
  },

  // 获取输入的旧密码
  getPwd(e) {
    setTimeout(() => {
      this.setData({
        pwd: e.detail
      })
    }, 1000)
  },

  // 获取输入的新密码
  getNewPwd(e) {
    setTimeout(() => {
      this.setData({
        newPwd: e.detail
      })
    }, 500)
  },
  // 修改密码
  surePwd() {
    if (!this.data.pwd || !this.data.newPwd) {
      wx.showToast({
        title: '密码不为空',
        icon: 'none',
      })
      return
    }
    if (this.data.newPwd.length < 6) {
      wx.showToast({
        icon: 'none',
        title: '密码最少为6位',
      })
      return
    }
    if (this.data.tempPwd != this.data.pwd) {
      wx.showToast({
        icon: 'none',
        title: '原密码输入错误',
      })
      return
    }
    let user = {
      ...this.data.user,
      password: this.data.newPwd
    };
    this.setData({
      user
    });
    wx.cloud.callFunction({
      name: "changeUser",
      data: {
        user
      }
    });
    wx.showToast({
      icon: 'success',
      title: '修改成功',
    })
    this.setData({
      pwdShow: false
    })
  },



  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

    let user = wx.getStorageSync('user')
    this.setData({
      time: user.registerTime,
    })
    let usercode = user.usercode

    db.collection('user').where({
      usercode: usercode
    }).get().then((res) => {
      let cxuser = res.data[0]
      this.setData({
        nickName: cxuser.name,
        sex: cxuser.sex,
        tempPwd: cxuser.password,
        user: cxuser
      })
    })

    this.setData({
      name: this.data.nickName
    })

    let timer = new Date(this.data.time)
    let year = timer.getFullYear()
    let month = (timer.getMonth() + 1) > 10 ? (timer.getMonth() + 1) : '0' + (timer.getMonth() + 1)
    let day = (timer.getDate()) > 10 ? (timer.getDate()) : '0' + (timer.getDate())
    this.setData({
      registerTime: year + '-' + month + "-" + day
    })
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})